#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <string.h>

int main(int argc, char *argv[],char* env[])
{

    execv("/usr/bin/ls",argv);
    

    return 0;
}

//
//int main(int argc, char *argv[],char* env[])
//{
//
//    int i =0;
//    for( i=0;env[i];i++)
//    {
//        printf("%s\n",env[i]);
//    
//    }
//
//
//    execvp("pwd",argv);
//
//    extern char** environ;
//
//    execve("./mybin",argv,environ);
//
//    
//
//    return 0;
//}


////进程等待
//int main()
//{
//
//    pid_t pid = fork();
//    if(pid==0)
//    {
//        printf("i am child process %d\n",getpid());
//        sleep(5);
//        exit(1);
//    }
//    pid_t ret;
//    int status;
//    do{
//        ret = waitpid(-1,&status,WNOHANG);
//        if(ret==0)
//        {
//            printf("正在等待子进程退出\n");
//        }
//        sleep(1);
//     }while(ret==0);
//    
//    printf("子进程成功退出\n");
//    printf("子进程的退出码：%d，子进程的错误码：%d\n",(status>>8)&0xff,status&0x7f);
//
//        return 0;
//
//}


// int main()
//   {
//      int a = 0;
//      a++;
//      execl("/usr/bin/pwd", "pwd", NULL);
//      printf("%d\n", a++);
//          return 0;
//   }
